Задания
Расписание и журнал — один экран: у задания два лица, будущее и прошлое, и вопрос всегда один — «почему ночная выгрузка не сделалась» (Р601).
Календарь нагрузки
Сутки по часам: где сходятся запуски, где окно свободно. Появляется с A3 — до неё расписание ведут по одному заданию.
| Задание | Запуск | Медиана | Замечание |
|---|
Кнопки «остановить всё» здесь нет намеренно: массовое отключение делается выключением конкретных заданий, каждое — с записью. Один тумблер «выключить планировщик» однажды останется выключенным, и никто не вспомнит почему.
Прогоны за сутки
Сквозной срез журнала по всем заданиям. Из прогона виден путь обратно — к заданию и его расписанию.
| Прогон | Задание | Длительность | Исход | Результат и причина |
|---|
Типы заданий
Каталог закрыт (R-JOB1): перечень типов, их параметры и требуемые права объявляет код системы. Администратор выбирает тип, а не пишет действие.
| Тип | Что делает | Требует полномочия | Системная УЗ | Перекрытие |
|---|
Контракт экрана — для разработчика Vue/Laravel
Источник данных
Задания и прогоны — таблицы приложения; каталог типов — код (реестр обработчиков Laravel, JobType), в API отдаётся только чтением. Параметры — config('takt.systemParams'), раздел ЗАДАНИЯ. Медиана длительности считается по прогонам того же задания, а не задаётся вручную.
Компоненты
| JobList | реестр: тип, расписание, ближайший запуск, владелец, последний прогон. Пометка владельца в статусе «заблокирован»/«уволен» — до наступления расписания (R-JOB9). |
| RunLog | прогоны выбранного задания: исход из словаря состояний, длительность вместе с медианой (R-JOB10), попытка повтора отдельной строкой (R-JOB8). |
| LoadCalendar | сутки по часам, порог — PARAM-JOB-CONCURRENCY; A3. |
| JobForm | расписание, параметры типа, владелец, политика догона. Полей «команда»/«SQL» не существует (R-JOB1). |
Права
Просмотр — R на OBJ-ADM-JOB; правка расписания и включение — U; ручной запуск и отмена — U плюс право самого типа задания; смена владельца — операция с записью в ленту событий (передача прав исполнения).
Границы
Прогоны в ленту событий не переносятся (R-JOB4): тысяча успешных очисток кэша в ленте аудита — способ утопить в ней настоящие события. Обратное направление обязательно: изменения данных, сделанные заданием, пишутся в ленту как обычные, с заданием и прогоном как основанием. Хранение прогонов — PARAM-JOB-LOG-KEEP, удаление автоматическое (R-JOB11).
Чего на экране нет
Произвольного кода и SQL (R-JOB1), кнопки «остановить планировщик», трендов длительности за месяцы — это 2.4.4.